/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package DBL;

import MDL.*;
import java.sql.*;

/**
 *
 * @author Peter
 */
public class DBBruger implements IFDBBruger
{

    Connection con = DBConnection.getInstance().getDBcon();

    public DBBruger()
    {
    }

    public int createBruger(Bruger bru)
    {
        int brugerId = GetMax.getNextID("SELECT MAX(brugerId) FROM Bruger");
        brugerId++;

        int rc = -1;
        String query = "INSERT INTO Bruger(brugerId, brugernavn, fornavn, efternavn, password) VALUES(" + brugerId + ",'" + bru.getBrugernavn() + "','" + bru.getFornavn() + "','" + bru.getEfternavn() + "','" + bru.getPassword() + ")";

        System.out.println(query);
        try
        {
            Statement state = con.createStatement();
            state.setQueryTimeout(0);
            rc = state.executeUpdate(query);
            state.close();
        } catch (Exception e)
        {
            System.out.println("ERROR: " + e);
        }
        System.out.println(rc);
        return rc;
    }

    public int updateBruger(Bruger bru)
    {
        int rc = -1;

        String query = "UPDATE Bruger SET " +
                "brugernavn ='" + bru.getBrugernavn() + "'," +
                "fornavn ='" + bru.getFornavn() + "', " +
                "efternavn ='" + bru.getEfternavn() + "','" +
                "password ='" + bru.getPassword() + "', " +
                "WHERE id = " + bru.getBrugerId();

        System.out.println(query);
        try
        {
            Statement state = con.createStatement();
            state.setQueryTimeout(5);
            rc = state.executeUpdate(query);
            state.close();
        } catch (Exception e)
        {
            System.out.println("ERROR: " + e);
        }
        return rc;
    }

    public Bruger findBruger(String brugernavn, Bruger bru)
    {
        int id = 0;
        ResultSet results;

        String query = "SELECT brugerId, brugernavn, fornavn, efternavn, password FROM Bruger WHERE brugernavn = '" + brugernavn + "'";
        try
        {
            Statement state = con.createStatement();
            results = state.executeQuery(query);
            if (results.next())
            {
                bru.setBrugerId(results.getInt(1));
                bru.setBrugernavn(results.getString(2));
                bru.setFornavn(results.getString(3));
                bru.setEfternavn(results.getString(4));
                bru.setPassword(results.getString(5));
            }
            state.close();
        } catch (Exception e)
        {
            System.out.println("ERROR: " + e);
        }
        return bru;
    }

    public void deleteBruger(String brugernavn)
    {
        String query = "DELETE FROM Bruger WHERE brugernavn = '" + brugernavn + "'";
        try
        {
            Statement state = con.createStatement();
            state.executeUpdate(query);
            state.close();
        } catch (Exception e)
        {
            System.out.println("ERROR: " + e);
        }
    }

}
